package com.qdlc.p2p.biz.service;

import java.util.List;

import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.Article;
import com.qdlc.p2p.dal.dto.Site;
import com.qdlc.p2p.dal.model.ArticleModel;
import com.qdlc.p2p.dal.model.SiteTree;

/**
 * 文章
 *
 * @author wuaj
 * @version 1.1.0.0
 * @date 2016年03月17日
 */
public interface ArticleService {

    /**
     * 列表
     *
     * @param nid
     * @param size
     * @return
     */
    List<ArticleModel> listBySize(String nid, int size);

    /**
     * 分页
     *
     * @param nid
     * @param page
     * @return
     */
    PageDataList<ArticleModel> list(String nid, int page);

    /**
     * 分页
     *
     * @param model
     * @return
     */
    PageDataList<ArticleModel> list(ArticleModel model);

    /**
     * 文章列表
     *
     * @param model
     * @param pageNumber
     * @param pageSize
     * @return
     */
    PageDataList<ArticleModel> articleList(ArticleModel model, int pageNumber, int pageSize);

    /**
     * 添加文章
     */
    void articleAdd(Article article);

    /**
     * 根据ID查询实体
     *
     * @param id
     * @return
     */
    Article find(long id);

    /**
     * @return
     */
    SiteTree getSiteTree();

    /**
     * 修改文章
     *
     * @param article 文章对象
     */
    void update(Article article);

    /**
     * 获取文章列表ID
     *
     * @return
     */
    List<Long> getIds(Site site);

    /**
     * 文章排行榜
     *
     * @param type
     * @return
     */
    PageDataList<ArticleModel> rankList(String type);

    /**
     * 公告栏列表
     *
     * @param size
     * @return
     */
    List<ArticleModel> listNotice(int size,Object... value);
}
